/*
  1. 3 + 2 +"7"的结果是什么？3 + (2 + "7")的结果又是什么？这两个表达式输出的值是什么类型？
  3 + 2 +"7"输出为：57，输出值类型为string
  3 + (2 + "7")输出为：327，输出值类型为string

  2. 6 - false的结果是什么？
  减号 转换数字
  false转数字为0
  结果为 6

  3. 6 - "false"和6 + "false"的结果分别是什么？结果输出值是什么数据类型？
  6 - "false"输出为：NaN，输出值类型为 number
    "false"转不了数字 -> NaN -> NaN和任何数字进行运算得到的都是NaN

  6 + "false"输出为：6false，输出值类型为 string

  4. 下面代码分别输出什么？请写出分析过程
  var a = 1;
  var b = ++a + ++a;
  //        2 +   3 = 5（分析过程）
  console.log(b); // 5（结果）

  //---上面和下面是两段代码---

  var a = 1;
  var b = a++ + a++;
  //      1   + 2 = 3 （分析过程）
  console.log(b); // 3（结果）

  5. JS中哪些值通过Boolean对象转换出来的值为false
  (1) 0
  (2) 空字符串
  (3) NaN
  (4) undefined
  (5) null

  6. 分析下面代码的结果并解释原因。
  var a = 1;
  var b = 2;
  console.log(a && b); // 2，a 和 b 都为真值，返回最后一个值
  console.log(a || b); // 1，a 和 b 都为真值，|| 短路运算碰到真值直接返回（a）

  7. 分析下面代码，分别输出什么？(以注释形式写在console.log后面)
  var str = "12306";
  var str1 = 1;
  var num = 12306;
  var boo = true;

  console.log(str == num); // true
  console.log(str === num); // false
  console.log(str1 == boo); // true
  console.log(str1 === boo); // false
  
  8. 分析下面代码，写出分析过程，请问 j 和 y 分别是多少？(不要运行代码，自己分析后写出答案)
    var i = 100;
    i++; // log(i): 101
    j = i++; // i = 102, j = 101
    y = ++j; // i = 102, j = 102
    console.log(y); // 102
    console.log(j); // 102
*/